个人知识库知识地图

记录如何排查Universal Link问题

创建AASA文件

创建apple-app-site-association文件,简称AASA, 格式如下,保存文件为 apple-app-site-association, 文本内容必须是json格式,不带后缀名

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "teamId.bundleId",
        "paths": [
          "*"
        ]
      }
    ]
  }
}

检测步骤

  • 确保AASA文件正确的放在服务器上, 并且content-type: application/octet-stream, 不带任何后缀

    https://{domain}/.well-known/apple-app-site-association 或者 https://{domain}/apple-app-site-association

  • 测试AASA能否正常访问 curl -v https://{domain}/.well-known/apple-app-site-association 查看访问结果,如果为200则配置正常

  • 测试Apple CDN访问情况 curl -v https://app-site-association.cdn-apple.com/a/v1/{domain} 如果正常返回配置的信息,说明已经可用了

异常排查

  • 使用swcutil命令 sudo swcutil verify -d example.com -j ./example -u https://example.com/test

  • 使用”诊断“ 可以获取到Apple CDN请求服务器AASA的时间,来确认是否是CDN缓存导致的问题

    同时按住ios设备的音量+ 音量— 和电源键 2s, 待屏幕闪一下后,再系统设置 > 隐私与安全性 > 分析与改进 > 分析报告 中找到 sysdiagnose 相关的日志,分享到Mac上,解压后打开 swcutil_show.txt 文件,搜索bundleId相关关键字,找到对应的日志

    Service:              applinks
    App ID:               xxx
    Domain:               example.com
    User Approval:        unspecified
    Site/Fmwk Approval:   approved
    Last Checked:         xxxxx
    Next Check:           xxxxx

    从这个日志中可以看出Apple CDN上一次请求的时间和下一次检查的时间

如果这篇内容对你有帮助,可以请我喝杯咖啡。